Server Message Block (SMB) és un protocol de comunicació [1] utilitzat principalment per ordinadors equipats amb Microsoft Windows que normalment s'utilitzen per compartir fitxers, impressores, ports sèrie i comunicacions diverses entre nodes d'una xarxa. La implementació SMB consta de dos serveis de Windows amb un nom vaga: "Server" (ID: LanmanServer
) i "Workstation" (ID: LanmanWorkstation
).[2] Utilitza protocols NTLM o Kerberos per a l'autenticació dels usuaris. També proporciona un mecanisme de comunicació entre processos (IPC) autenticat.
SMB va ser desenvolupat originalment l'any 1983 per Barry A. Feigenbaum a IBM [3] i tenia la intenció de proporcionar accés compartit a fitxers i impressores a través de nodes d'una xarxa de sistemes que executaven l'OS/2 d'IBM. El 1987, Microsoft i 3Com van implementar SMB a LAN Manager per a OS/2, moment en què SMB va utilitzar el servei NetBIOS a sobre del protocol NetBIOS Frames com a transport subjacent. Més tard, Microsoft va implementar SMB a Windows NT 3.1 i l'ha anat actualitzant des d'aleshores, adaptant-lo per funcionar amb transports subjacents més nous: TCP/IP i NetBT. SMB sobre QUIC es va introduir a Windows Server 2022.
El 1996, Microsoft va publicar una versió de SMB 1.0 amb modificacions menors sota el sobrenom del Common Internet File System (CIFS /sɪfs/). CIFS era compatible fins i tot amb la primera encarnació de SMB, inclosa la de LAN Manager. Admet enllaços simbòlics, enllaços durs i una mida de fitxer més gran, però cap de les funcions de SMB 2.0 i posteriors. La proposta de Microsoft, però, va seguir sent un esborrany d'Internet i mai va aconseguir l'estatus estàndard. Des de llavors, Microsoft ha deixat d'utilitzar el sobrenom CIFS, però continua desenvolupant SMB i posant a disposició del públic les especificacions posteriors. Samba és una reimplementació de programari lliure del protocol SMB i les extensions de Microsoft.